Mã hóa URL Chuỗi_truy_vấn

Một số ký tự không thể là thành phần của một URL (ví dụ như khoảng trắng) và một số ký tự khác có một ý nghĩa đặc biệt trong một URL: ví dụ, ký tự # có thể được dùng để tiếp tục xác định một phần phụ (hoặc mảnh) của một tài liệu. Trong form HTML, ký tự = được sử dụng để tách một tên từ một giá trị. Cú pháp URI chung sử dụng mã hóa URL để giải quyết với vấn đề này, trong khi các HTML form tạo thêm các giải pháp thay thế chứ thay vì áp dụng việc mã hóa bằng ký tự "%" cho tất cả các ký tự. Ký tự khoảng trắng được mã hóa bằng '+' hoặc "%20".

HTML 5 xác định những thay đổi sau khi một form HTML được gởi tới trình lên server bằng giao thức GET:

  • Một ký tự nếu không có ký tự mã hóa tương ứng thì sẽ được thay thế bởi danh sách Tham chiếu ký tự số tương ứng của HTML
  • Khoảng trắng được mã hóa bằng kí tự '+' hoặc '%20'
  • Các kí tự (AZaz), số (09) và các ký tự '*','-','.' và '_' đều được giữ nguyên, không mã hóa
  • Tất cả các ký tự khác được mã hóa bằng %HH hex đại diện với bất kỳ ký tự không phải ASCII nào khác đều được mã hóa bằng UTF-8 (hoặc các mã hóa quy định khác)

Tài liệu tham khảo

WikiPedia: Chuỗi_truy_vấn http://docs.oracle.com/javaee/6/api/javax/servlet/... http://tools.ietf.org/html/rfc3986#section-3 http://tools.ietf.org/html/rfc3986#section-3.4 http://www.w3.org/TR/1999/REC-html401-19991224/app... http://www.w3.org/TR/REC-html40/interact/forms.htm... http://www.w3.org/wiki/HTML/Elements/isindex //en.wikipedia.org/wiki/Category:CS1_maint:_Multip... https://stackoverflow.com/questions/1746507/author... https://httpd.apache.org/docs/2.2/mod/core.html#li... https://tools.ietf.org/html/rfc7230#section-3.1.1